/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package de.fhluebeck.oop.gps.gui;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.Point;
import java.net.URL;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

import com.jgoodies.forms.builder.ButtonBarBuilder;
import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;

/**
 * 
 * AboutView
 * 
 * @author Ogün Bilge, Leif Hitzschke
 * @version 1.00, 13.11.2009
 * 
 */
public class AboutView extends JDialog {
	
	JLabel link;
	
	public AboutView(JFrame owner) {
		super(owner, true);
		init(owner);
	}

	public void init(JFrame owner) {

        final String txtDialogTitle = "Über GPSNutzung";
        
        this.setSize(400, 300);
        this.setTitle(txtDialogTitle);
        this.setResizable(false);

        JPanel mainContainer = new JPanel();
        mainContainer.setLayout(new BorderLayout());
        
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // MainPanel
        // - In diesem Panel wird das fh Logo plaziert
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        JPanel mainPanel = new JPanel();
        mainPanel.setLayout(new GridLayout(1, 0));
        mainPanel.setBounds(20, 20, 20, 20);
        
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // Editorpanel
        // - In diesem Panel sind die Componeneten f�r die Bearbeitung der Tabelle plaziert
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        JPanel editPanel = new JPanel();
        editPanel.setBounds(0, 0, 300, 200);
        
        //URL resource = ClassLoader.getSystemResource("../de/fhluebeck/oop/gps/resources/logo_FH_Luebeck_svg.png");
        URL resource = AboutView.class.getResource("/de/fhluebeck/oop/gps/resources/logo_FH_Luebeck.png");
        ImageIcon ico = new ImageIcon(resource);
        JLabel image = new JLabel(ico);
        JLabel member = new JLabel("Ogün Bilge, Leif Hitzschke");
        link = new JLabel("www.code.google.com/p/gpsnutzung");
        link.addMouseListener(new AboutController(this));
                
       
        
        FormLayout layout = new FormLayout(
            "4dlu, left:200dlu, 4dlu", // columns
            "10dlu, pref, 20dlu, pref, 4dlu, pref, 4dlu" // rows
        );

        editPanel.setLayout(layout);
        
        CellConstraints cc = new CellConstraints();
        editPanel.add(image, cc.xy(2,2));
        editPanel.add(member, cc.xy(2,4 ));
        editPanel.add(link, cc.xy(2,6 ));
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        
        
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // Buttonpanel
        // - In diesem Panel sind die Button f�r die Aktionen plaziert
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        JPanel buttonPanel = new JPanel();
        buttonPanel.setBorder(new EmptyBorder(0, 0, 5, 5));
        buttonPanel.setLayout(new BorderLayout());
        
        JButton cmdOK = new JButton("OK");
        cmdOK.setActionCommand("cmdOK");
        cmdOK.addActionListener(new AboutController(this));
        
        ButtonBarBuilder builder = new ButtonBarBuilder();
        builder.addGridded(cmdOK);

        buttonPanel.add(builder.getPanel(), BorderLayout.EAST);
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        // Hinzuf�gen der Panel zum Hauptcontainer, sowie das plazieren des Dialoges mittig auf dem
        // Hauptfenster
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        mainContainer.add(mainPanel, BorderLayout.NORTH);
        mainContainer.add(editPanel, BorderLayout.CENTER);
        mainContainer.add(buttonPanel, BorderLayout.SOUTH);
        
        this.add(mainContainer);
        
        Point parloc = owner.getLocation();
	    setLocation(parloc.x + 10, parloc.y + 10);
	    ////////////////////////////////////////////////////////////////////////////////////////////////////
	    
    }

}
